
Nombre:
NotePad
Versión:
Microsoft Windows 98
Tamaño:
57.344 bytes
Editor:
Microsoft
Víctima:
NOTEPAD.EXE
Herramientas:
W32Dasm
HIEW
Cerebro
Cracker:
LW2000
Tutorial:
número 36
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Bien, ¡este ‘engendro’ me ha molestado
docenas de veces! He intentado crackear el límite de tamaño de fichero, pero
me he confundido mucho y he perdido la visión de conjunto. Así que he decidido
eliminar la molesta pantalla NAG que nos dice que lancemos WordPad. Para hacer
esto, he intentado abrir un fichero de 600 kb (creo que con un fichero de
tamaño menor también se podría, pero ya tenía éste fichero en mi capeta de
cracking y yo soy muy perezoso …) con NotePad.
2.
¡Boooom! Aparece nuestra pantalla Nag.
Bien, lanzamos W32Dasm y echamos un vistazo a ‘NOTEPAD.EXE’
3.
Hacemos click en el botón ‘String Data
References’ y echamos un vistazo a las cadenas. Normalmente deberíamos buscar
el texto del mensaje y/o título, o algo parecido; pero la cadena “WORDPAD.EXE”
parece sospechosa. Vamos a echar un vistazo más atento:
* Possible Reference to String Resource ID=00056:
"wordpad.exe"
|
:004033D5 6A38 push 00000038
:004033D7 FF3540554000 push dword ptr [00405540]
4.
Ahora nos desplazamos hacia arriba. Encima
de la cadena “WORDPAD.EXE” veremos un ‘CALL’ a la función messageBoxA. ¡Hmmmm!
Parece que hemos encontrado nuestra Nag.
* Reference To: KERNEL32.GetStartupInfoA, Ord:0140h
|
:0040339F FF1590634000 Call dword ptr [00406390]
* Possible Reference to String Resource ID=00036:
"&f"
|
:004033A5 6A24 push 00000024
:004033A7 A1B4504000 mov eax, dword ptr [004050B4]
:004033AC 56 push esi
:004033AD 50 push eax
:004033AE FF7508 push [ebp+08]
* Reference To: USER32.MessageBoxA, Ord:01ACh
|
:004033B1 FF15A8644000 Call dword ptr [004064A8]
:004033B7 83F806 cmp eax, 00000006
:004033BA 0F85A7000000 jne 00403467
:004033C0 6804010000 push 00000104 >¡Tenemos que ir aquí!
:004033C5 8D858CFDFFFF lea eax, dword ptr [ebp+FFFFFD8C]
:004033CB 837D1001 cmp dword ptr [ebp+10], 00000001
:004033CF 1BFF sbb edi, edi
:004033D1 50 push eax
:004033D2 83C737 add edi, 00000037
* Possible Reference to String Resource ID=00056:
"wordpad.exe"
|
:004033D5 6A38 push 00000038
:004033D7 FF3540554000 push dword ptr [00405540]
5.
Bien, nuestro ejercicio es saltar a ‘004033C0’,
sobre la messageBox, para ejecutar WordPad automáticamente. ¿Cómo podemos
hacer esto? ¡Hmmmm, sencillo!
* Possible Reference to String Resource ID=00036:
"&f"
|
:004033A5 6A24 push 00000024 >Anotamos el offset
:004033A7 A1B4504000 mov eax, dword ptr [004050B4]
:004033AC 56 push esi
:004033AD 50 push eax
:004033AE FF7508 push [ebp+08]
6.
Anotamos el offset de la posición ‘004033A5’.
En lugar de eso tenemos que slatar a ‘004033C0’.
7.
Cerramos W32Dasm y abrimos HIEW con ‘NOTEPAD.EXE’.
Pulsamos F5 y vaoms al offset ‘33A5’. Pulsamos F3 para entrar al modo Edit
y F2 para introducir comandos ensamblador. Después escribimos:
jmp 33C0 [Intro]
8.
[Esc] para cerrar la pantalla. Guardamos
nuestro trabajo y salimos de HIEW. Ahora probamos nuevamente a abrir un fichero
grande.
¡Enhorabuena! ¡WordPad se abri, sin la pantalla Nag!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracias a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe